package com.um2.simplexe.client.ui.util.controleUI.chargeur.menu;

import java.util.Vector;

import javax.swing.JMenu;
import javax.swing.JPanel;

import com.um2.simplexe.client.ui.exec.ToutesLesMethodesClient;


/**
 * Un controleur de menu est une classe qui peut ajouter
 *  donner des JMenu a ajouter a une JMenuBar.
 *  
 *  On peut aussi specifier des actions a faire.
 * 
 * @author jean-marie codol
 *
 */
public interface ControleurDeMenu {

	
	/**
	 * Le libelle du plugin.
	 * 
	 * @return
	 */
	public String getNomPlugin() ;
	
	/**
	 * Quelques informations sur le plugin,
	 * Presente sous forme de JPanel,
	 * l'application mettra en forme le panneau.
	 * 
	 * @return
	 */
	public JPanel getInfosPlugin() ;
	
	
	
	/**
	 * On specifie plusieurs JMenu,
	 * qu'on ajoutera a la JMenuBar.
	 * 
	 * Les actions correspondantes seront specifiees dans une autre methode.
	 * 
	 * @return
	 */
	public Vector<JMenu> ajouterALaMenuBar() ;
	
	/**
	 * les fonctions auquelles a acces ce type de plugins .
	 */
	public void setListeFonctionsDisponibles (ToutesLesMethodesClient methodes) ;
	
	
}
